@charset "UTF-8";
/* ==================================================[重置] */
body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, p, section, blockquote, pre, form, fieldset, legend, button, input, textarea, th, td { margin: 0; padding: 0; }
ul, ol { list-style: outside none; }
fieldset, img { border: none; }
table { border-collapse: collapse; border-spacing: 0; }
body, small, sup, sub, button, input, textarea, select { font: 12px/1 Arial, Helvetica, Verdana, SimSun, sans-serif; }
body { line-height: 1.5; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
address, cite, dfn, em, var { font-style: normal; }
code, kbd, pre, samp { font-family: Consolas, "Lucida Console", Courier, SimSun, monospace; }
sup, sub { position: relative; vertical-align: baseline; }
sup { top: -3px; }
sub { bottom: -3px; }
button { padding: 5px 10px; border-radius: 0; overflow: visible; }
/* ==================================================[主题] */
/* --------------------------------------------------[变量] */
/* Material Design 调色板 */
:root {
  --red: #F44336;
  --red-50: #FFEBEE;
  --red-100: #FFCDD2;
  --red-200: #EF9A9A;
  --red-300: #E57373;
  --red-400: #EF5350;
  --red-500: #F44336;
  --red-600: #E53935;
  --red-700: #D32F2F;
  --red-800: #C62828;
  --red-900: #B71C1C;
  --red-a100: #FF8A80;
  --red-a200: #FF5252;
  --red-a400: #FF1744;
  --red-a700: #D50000;

  --pink: #E91E63;
  --pink-50: #FCE4EC;
  --pink-100: #F8BBD0;
  --pink-200: #F48FB1;
  --pink-300: #F06292;
  --pink-400: #EC407A;
  --pink-500: #E91E63;
  --pink-600: #D81B60;
  --pink-700: #C2185B;
  --pink-800: #AD1457;
  --pink-900: #880E4F;
  --pink-a100: #FF80AB;
  --pink-a200: #FF4081;
  --pink-a400: #F50057;
  --pink-a700: #C51162;

  --purple: #9C27B0;
  --purple-50: #F3E5F5;
  --purple-100: #E1BEE7;
  --purple-200: #CE93D8;
  --purple-300: #BA68C8;
  --purple-400: #AB47BC;
  --purple-500: #9C27B0;
  --purple-600: #8E24AA;
  --purple-700: #7B1FA2;
  --purple-800: #6A1B9A;
  --purple-900: #4A148C;
  --purple-a100: #EA80FC;
  --purple-a200: #E040FB;
  --purple-a400: #D500F9;
  --purple-a700: #AA00FF;

  --deep-purple: #673AB7;
  --deep-purple-50: #EDE7F6;
  --deep-purple-100: #D1C4E9;
  --deep-purple-200: #B39DDB;
  --deep-purple-300: #9575CD;
  --deep-purple-400: #7E57C2;
  --deep-purple-500: #673AB7;
  --deep-purple-600: #5E35B1;
  --deep-purple-700: #512DA8;
  --deep-purple-800: #4527A0;
  --deep-purple-900: #311B92;
  --deep-purple-a100: #B388FF;
  --deep-purple-a200: #7C4DFF;
  --deep-purple-a400: #651FFF;
  --deep-purple-a700: #6200EA;

  --indigo: #3F51B5;
  --indigo-50: #E8EAF6;
  --indigo-100: #C5CAE9;
  --indigo-200: #9FA8DA;
  --indigo-300: #7986CB;
  --indigo-400: #5C6BC0;
  --indigo-500: #3F51B5;
  --indigo-600: #3949AB;
  --indigo-700: #303F9F;
  --indigo-800: #283593;
  --indigo-900: #1A237E;
  --indigo-a100: #8C9EFF;
  --indigo-a200: #536DFE;
  --indigo-a400: #3D5AFE;
  --indigo-a700: #304FFE;

  --blue: #2196F3;
  --blue-50: #E3F2FD;
  --blue-100: #BBDEFB;
  --blue-200: #90CAF9;
  --blue-300: #64B5F6;
  --blue-400: #42A5F5;
  --blue-500: #2196F3;
  --blue-600: #1E88E5;
  --blue-700: #1976D2;
  --blue-800: #1565C0;
  --blue-900: #0D47A1;
  --blue-a100: #82B1FF;
  --blue-a200: #448AFF;
  --blue-a400: #2979FF;
  --blue-a700: #2962FF;

  --light-blue: #03A9F4;
  --light-blue-50: #E1F5FE;
  --light-blue-100: #B3E5FC;
  --light-blue-200: #81D4FA;
  --light-blue-300: #4FC3F7;
  --light-blue-400: #29B6F6;
  --light-blue-500: #03A9F4;
  --light-blue-600: #039BE5;
  --light-blue-700: #0288D1;
  --light-blue-800: #0277BD;
  --light-blue-900: #01579B;
  --light-blue-a100: #80D8FF;
  --light-blue-a200: #40C4FF;
  --light-blue-a400: #00B0FF;
  --light-blue-a700: #0091EA;

  --cyan: #00BCD4;
  --cyan-50: #E0F7FA;
  --cyan-100: #B2EBF2;
  --cyan-200: #80DEEA;
  --cyan-300: #4DD0E1;
  --cyan-400: #26C6DA;
  --cyan-500: #00BCD4;
  --cyan-600: #00ACC1;
  --cyan-700: #0097A7;
  --cyan-800: #00838F;
  --cyan-900: #006064;
  --cyan-a100: #84FFFF;
  --cyan-a200: #18FFFF;
  --cyan-a400: #00E5FF;
  --cyan-a700: #00B8D4;

  --teal: #009688;
  --teal-50: #E0F2F1;
  --teal-100: #B2DFDB;
  --teal-200: #80CBC4;
  --teal-300: #4DB6AC;
  --teal-400: #26A69A;
  --teal-500: #009688;
  --teal-600: #00897B;
  --teal-700: #00796B;
  --teal-800: #00695C;
  --teal-900: #004D40;
  --teal-a100: #A7FFEB;
  --teal-a200: #64FFDA;
  --teal-a400: #1DE9B6;
  --teal-a700: #00BFA5;

  --green: #4CAF50;
  --green-50: #E8F5E9;
  --green-100: #C8E6C9;
  --green-200: #A5D6A7;
  --green-300: #81C784;
  --green-400: #66BB6A;
  --green-500: #4CAF50;
  --green-600: #43A047;
  --green-700: #388E3C;
  --green-800: #2E7D32;
  --green-900: #1B5E20;
  --green-a100: #B9F6CA;
  --green-a200: #69F0AE;
  --green-a400: #00E676;
  --green-a700: #00C853;

  --light-green: #8BC34A;
  --light-green-50: #F1F8E9;
  --light-green-100: #DCEDC8;
  --light-green-200: #C5E1A5;
  --light-green-300: #AED581;
  --light-green-400: #9CCC65;
  --light-green-500: #8BC34A;
  --light-green-600: #7CB342;
  --light-green-700: #689F38;
  --light-green-800: #558B2F;
  --light-green-900: #33691E;
  --light-green-a100: #CCFF90;
  --light-green-a200: #B2FF59;
  --light-green-a400: #76FF03;
  --light-green-a700: #64DD17;

  --lime: #CDDC39;
  --lime-50: #F9FBE7;
  --lime-100: #F0F4C3;
  --lime-200: #E6EE9C;
  --lime-300: #DCE775;
  --lime-400: #D4E157;
  --lime-500: #CDDC39;
  --lime-600: #C0CA33;
  --lime-700: #AFB42B;
  --lime-800: #9E9D24;
  --lime-900: #827717;
  --lime-a100: #F4FF81;
  --lime-a200: #EEFF41;
  --lime-a400: #C6FF00;
  --lime-a700: #AEEA00;

  --yellow: #FFEB3B;
  --yellow-50: #FFFDE7;
  --yellow-100: #FFF9C4;
  --yellow-200: #FFF59D;
  --yellow-300: #FFF176;
  --yellow-400: #FFEE58;
  --yellow-500: #FFEB3B;
  --yellow-600: #FDD835;
  --yellow-700: #FBC02D;
  --yellow-800: #F9A825;
  --yellow-900: #F57F17;
  --yellow-a100: #FFFF8D;
  --yellow-a200: #FFFF00;
  --yellow-a400: #FFEA00;
  --yellow-a700: #FFD600;

  --amber: #FFC107;
  --amber-50: #FFF8E1;
  --amber-100: #FFECB3;
  --amber-200: #FFE082;
  --amber-300: #FFD54F;
  --amber-400: #FFCA28;
  --amber-500: #FFC107;
  --amber-600: #FFB300;
  --amber-700: #FFA000;
  --amber-800: #FF8F00;
  --amber-900: #FF6F00;
  --amber-a100: #FFE57F;
  --amber-a200: #FFD740;
  --amber-a400: #FFC400;
  --amber-a700: #FFAB00;

  --orange: #FF9800;
  --orange-50: #FFF3E0;
  --orange-100: #FFE0B2;
  --orange-200: #FFCC80;
  --orange-300: #FFB74D;
  --orange-400: #FFA726;
  --orange-500: #FF9800;
  --orange-600: #FB8C00;
  --orange-700: #F57C00;
  --orange-800: #EF6C00;
  --orange-900: #E65100;
  --orange-a100: #FFD180;
  --orange-a200: #FFAB40;
  --orange-a400: #FF9100;
  --orange-a700: #FF6D00;

  --deep-orange: #FF5722;
  --deep-orange-50: #FBE9E7;
  --deep-orange-100: #FFCCBC;
  --deep-orange-200: #FFAB91;
  --deep-orange-300: #FF8A65;
  --deep-orange-400: #FF7043;
  --deep-orange-500: #FF5722;
  --deep-orange-600: #F4511E;
  --deep-orange-700: #E64A19;
  --deep-orange-800: #D84315;
  --deep-orange-900: #BF360C;
  --deep-orange-a100: #FF9E80;
  --deep-orange-a200: #FF6E40;
  --deep-orange-a400: #FF3D00;
  --deep-orange-a700: #DD2C00;

  --brown: #795548;
  --brown-50: #EFEBE9;
  --brown-100: #D7CCC8;
  --brown-200: #BCAAA4;
  --brown-300: #A1887F;
  --brown-400: #8D6E63;
  --brown-500: #795548;
  --brown-600: #6D4C41;
  --brown-700: #5D4037;
  --brown-800: #4E342E;
  --brown-900: #3E2723;

  --blue-grey: #607D8B;
  --blue-grey-50: #ECEFF1;
  --blue-grey-100: #CFD8DC;
  --blue-grey-200: #B0BEC5;
  --blue-grey-300: #90A4AE;
  --blue-grey-400: #78909C;
  --blue-grey-500: #607D8B;
  --blue-grey-600: #546E7A;
  --blue-grey-700: #455A64;
  --blue-grey-800: #37474F;
  --blue-grey-900: #263238;

  --grey-50: #FAFAFA;
  --grey-100: #F5F5F5;
  --grey-200: #EEEEEE;
  --grey-300: #E0E0E0;
  --grey-400: #BDBDBD;
  --grey-500: #9E9E9E;
  --grey-600: #757575;
  --grey-700: #616161;
  --grey-800: #424242;
  --grey-900: #212121;

}
/* @see http://www.uisdc.com/material-design-dark-mode */
:root {
  --00dp: #121212; /* hsla(0, 0%, 100%, 0.00); */
  --01dp: #1E1E1E; /* hsla(0, 0%, 100%, 0.05); */
  --02dp: #222222; /* hsla(0, 0%, 100%, 0.07); */
  --03dp: #242424; /* hsla(0, 0%, 100%, 0.08); */
  --04dp: #272727; /* hsla(0, 0%, 100%, 0.09); */
  --06dp: #2B2B2B; /* hsla(0, 0%, 100%, 0.11); */
  --08dp: #2E2E2E; /* hsla(0, 0%, 100%, 0.12); */
  --12dp: #333333; /* hsla(0, 0%, 100%, 0.14); */
  --16dp: #353535; /* hsla(0, 0%, 100%, 0.15); */
  --24dp: #373737; /* hsla(0, 0%, 100%, 0.16); */

  --dark-highlight: hsla(0, 0%, 100%, 0.87);
  --dark-normal: hsla(0, 0%, 100%, 0.60);
  --dark-weaken: hsla(0, 0%, 100%, 0.38);
  --dark-disabled: hsla(0, 0%, 100%, 0.10);

}
:root {
  --layer-shadow: 0 0 5px hsla(0, 0%, 0%, 0.75);
  --panel-shadow: 0 3px 7px 0 hsla(0, 0%, 0%, 0.20), 0 1px 2px 0 hsla(0, 0%, 0%, 0.10);
  --card-shadow: 0 1px 4px hsla(0, 0%, 0%, 0.20), 0 1px 2px hsla(0, 0%, 0%, 0.10);
  --hint-shadow: 0 1px 3px 0 hsla(0, 0%, 0%, 0.2), 0 1px 1px 0 hsla(0, 0%, 0%, 0.1), 0 2px 1px -1px hsla(0, 0%, 0%, 0.1);

  --border: var(--grey-300);

  --page: #F0F0F0;
  --section: #FAFAFA;
  --content: #FFFFFF;

  --panel: #F6F8F9;
  --panel-text: #435E7A;

  --control-border: hsl(0, 0%, 73%);
  --control-hover-border: hsl(0, 0%, 56%);
  --control-active: hsl(200, 100%, 97.5%);
  --control-active-border: hsl(200, 100%, 45%);
  --control-invalid: hsl(5, 76%, 95%);
  --control-invalid-border: hsl(12, 100%, 43%);
  --control-invalid-text: hsl(0, 62%, 53%);
  --control-disabled: hsl(0, 0%, 95%);
  --control-disabled-border: hsl(0, 0%, 73%);
  --control-disabled-text: hsl(0, 0%, 40%);
  --control-selected: hsl(215, 55%, 50%);
  --control-selected-hover: hsl(215, 55%, 45%);
  --control-selected-active: hsl(215, 55%, 40%);
  --control-options-border: hsl(0, 0%, 30%);
  --control-option-hover: hsla(0, 0%, 0%, 0.05);
  --control-option-active: hsla(0, 0%, 0%, 0.15);
  --control-icon: hsla(0, 0%, 0%, 0.05);

  --action: hsl(220, 80%, 50%);
  --action-hover: hsl(220, 80%, 40%);
  --action-active: hsl(220, 80%, 30%);

  --button: hsla(0, 0%, 50%, 0.20);
  --button-hover: hsla(0, 0%, 0%, 0.15);
  --button-active: hsla(0, 0%, 0%, 0.30);
  --button-border: hsla(0, 0%, 0%, 0.15);

  --flat-button-hover: hsla(0, 0%, 0%, 0.075);
  --flat-button-active: hsla(0, 0%, 0%, 0.125);

  --darken-x1: hsla(0, 0%, 0%, 0.10);
  --darken-x2: hsla(0, 0%, 0%, 0.20);
  --darken-x3: hsla(0, 0%, 0%, 0.30);
  --darken-x4: hsla(0, 0%, 0%, 0.40);
  --darken-x5: hsla(0, 0%, 0%, 0.50);
  --darken-x6: hsla(0, 0%, 0%, 0.60);
  --darken-x7: hsla(0, 0%, 0%, 0.70);
  --darken-x8: hsla(0, 0%, 0%, 0.80);
  --darken-x9: hsla(0, 0%, 0%, 0.90);
  --darken-x10: hsla(0, 0%, 0%, 1.00);
  --brighten-x1: hsla(0, 0%, 100%, 0.10);
  --brighten-x2: hsla(0, 0%, 100%, 0.20);
  --brighten-x3: hsla(0, 0%, 100%, 0.30);
  --brighten-x4: hsla(0, 0%, 100%, 0.40);
  --brighten-x5: hsla(0, 0%, 100%, 0.50);
  --brighten-x6: hsla(0, 0%, 100%, 0.60);
  --brighten-x7: hsla(0, 0%, 100%, 0.70);
  --brighten-x8: hsla(0, 0%, 100%, 0.80);
  --brighten-x9: hsla(0, 0%, 100%, 0.90);
  --brighten-x10: hsla(0, 0%, 100%, 1.00);

  --normal: var(--grey-900);
  --weaken: var(--grey-700);
  --disabled: var(--grey-300);

  --state-disabled: var(--grey-800);
  --state-pending: var(--grey-600);
  --state-offline: var(--indigo-600);
  --state-shutdown: var(--cyan-800);
  --state-standby: var(--cyan-600);
  --state-normal: hsl(140, 45%, 50%);
  --state-warning: hsl(200, 100%, 55%);
  --state-minor: hsl(50, 100%, 50%);
  --state-major: hsl(30, 100%, 50%);
  --state-critical: hsl(355, 90%, 60%);

}
/* --------------------------------------------------[视口] */
html,
body { position: absolute; left: 0; right: 0; top: 0; bottom: 0; }
body { overflow: hidden; background-color: var(--page); color: var(--normal); cursor: default; }
body.redirecting,
body:not(.ready) { display: none; }
/* --------------------------------------------------[滚动条] */
::-webkit-scrollbar { width: 10px; height: 10px; background-color: var(--grey-300); }
::-webkit-scrollbar:disabled { background-color: var(--grey-200); }
::-webkit-scrollbar-thumb { background-color: var(--grey-400); }
::-webkit-scrollbar-thumb:hover { background-color: var(--grey-500); }
::-webkit-scrollbar-thumb:active { background-color: var(--grey-600); }
::-webkit-scrollbar-thumb:disabled { background-color: var(--grey-200); }
::-webkit-scrollbar-button { display: none; }
::-webkit-scrollbar-corner { background-color: var(--grey-300); }
/* --------------------------------------------------[动画] */
@keyframes loading-rotate {
  100% { transform: rotate(1turn); }
}
@keyframes loading-dash {
  0% { stroke-dasharray: 0, 75; stroke-dashoffset: 0; }
  50% { stroke-dasharray: 56, 112; stroke-dashoffset: -25px; }
  100% { stroke-dasharray: 56, 112; stroke-dashoffset: -75px; }
}
/* --------------------------------------------------[文字] */
@font-face {
  font-family: "Monaco";
  src: url("/common/fonts/monaco.woff2") format("woff2"), url("/common/fonts/monaco.woff") format("woff");
}
@font-face {
  font-family: "Digital-7Mono";
  src: url("/common/fonts/digital-7mono.woff2") format("woff2"), url("/common/fonts/digital-7mono.woff") format("woff");
}
@font-face {
  font-family: "FontAwesome";
  src: url("/common/fonts/fontawesome-4.7.0.woff2") format("woff2"), url("/common/fonts/fontawesome-4.7.0.woff") format("woff");
  font-style: normal;
  font-weight: normal;
}
@font-face {
  font-family: "FabricMDL2Icons";
  src: url("/common/fonts/fabricmdl2icons-3.54.woff") format("woff");
  font-style: normal;
  font-weight: normal;
}
body, samp, small, sup, sub, button, input, textarea, select { font-size: 14px; font-family: Verdana, Helvetica, Arial, "Microsoft YaHei", sans-serif; }
code, kbd, pre { font-family: Monaco, Consolas, "Lucida Console", Courier, "Microsoft YaHei", monospace; }
b, i, dfn { font-style: normal; font-weight: normal; }
body { -webkit-text-size-adjust: 100% !important; }
* { -webkit-tap-highlight-color: transparent; }
/* --------------------------------------------------[链接] */
a { text-decoration: none; }
a:link,
a:visited { color: var(--action); }
a:hover { color: var(--action-hover); text-decoration: underline; }
a:active { color: var(--action-active); text-decoration: underline; }
.action { color: var(--action); cursor: pointer; }
.action:hover { color: var(--action-hover); text-decoration: underline; }
.action:active { color: var(--action-active); text-decoration: underline; }
/* --------------------------------------------------[图标] */
[data-icon] { display: flex; justify-content: center; align-items: center; }
[data-icon]::before { content: attr(data-icon); flex: none; display: flex; justify-content: center; align-items: center; font: normal normal 16px FabricMDL2Icons; text-align: center; }
[data-icon][data-icon-font="FontAwesome"]::before { font: normal normal 16px FontAwesome; }
/* --------------------------------------------------[内置实体] */
dfn[data-entity]::before { margin-right: 4px; font: 16px/20px FabricMDL2Icons; vertical-align: bottom; }
dfn[data-entity="root"]::before { content: "\f295"; color: var(--panel-text); }
dfn[data-entity="model"]::before { content: "\e314"; color: var(--panel-text); }
dfn[data-entity="object"]::before { content: "\f29f"; color: var(--panel-text); }
/* --------------------------------------------------[按钮] */
button { display: inline-block; height: 32px; padding: 2px 12px; border: 1px solid var(--button-border); border-radius: 2px; background-color: var(--grey-200); outline: none; color: var(--grey-900); text-align: center; }
button:hover { background-color: var(--grey-300); }
button:active { background-color: var(--grey-400); }
button.primary { background-color: var(--blue-700); color: white; }
button.primary:hover { background-color: var(--blue-800); }
button.primary:active { background-color: var(--blue-900); }
button.inverse { background-color: var(--grey-600); color: white; }
button.inverse:hover { background-color: var(--grey-700); }
button.inverse:active { background-color: var(--grey-800); }
button.create { background-color: var(--blue-700); color: white; }
button.create:hover { background-color: var(--blue-800); }
button.create:active { background-color: var(--blue-900); }
button.delete { background-color: var(--red-600); color: white; }
button.delete:hover { background-color: var(--red-700); }
button.delete:active { background-color: var(--red-800); }
button:disabled { background: var(--grey-200); color: var(--grey-400); pointer-events: none; }
button.flat { height: auto; border: none; border-radius: 0; background-color: transparent; }
button.flat:hover { background-color: var(--flat-button-hover); }
button.flat:active { background-color: var(--flat-button-active); }
/* --------------------------------------------------[提示信息] */
i[data-hint] { display: flex; justify-content: center; align-items: center; }
i[data-hint]::before { content: "\e946"; font: normal normal 16px/1 FabricMDL2Icons; }
i[data-hint]:hover::before { content: "\f167"; }
i[data-hint][data-type="help"]::before { content: "\e9ce"; }
i[data-hint][data-type="help"]:hover::before { content: "\f2e1"; }
p.info,
p.notice,
p.warning { display: flex; flex-flow: row nowrap; justify-content: flex-start; align-items: stretch; margin: 4px 0; font-size: 12px; line-height: 16px; }
p.info strong,
p.notice strong { color: var(--red-a700); font-weight: normal; }
p.info { color: var(--grey-800); }
p.notice { color: var(--grey-800); }
p.warning { color: var(--red-a700); }
p.info::before,
p.notice::before,
p.warning::before { flex: none; display: block; width: 14px; margin-right: 2px; font: normal normal 14px/16px FontAwesome; text-align: center; }
p.info::before { content: "\f05a"; }
p.notice::before { content: "\f06a"; }
p.warning::before { content: "\f071"; }
